
const trustedHtmlFilter = function($sce) {
  'ngInject';
  
  return function(text) {
    if (!text) {
      return '';
    }
    
    // 基本的 HTML 清理 - 移除可能的恶意脚本
    let cleanText = text
      .replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '') // 移除 script 标签
      .replace(/javascript:/gi, '') // 移除 javascript: 协议
      .replace(/on\w+\s*=/gi, ''); // 移除事件处理器
    
    return $sce.trustAsHtml(cleanText);
  };
};

function initTrustedHtmlFilter() {
  const angular = window.angular;
  
  if (!angular) {
    console.error('Angular 未找到，无法初始化trustedHtml过滤器模块');
    return;
  }

  angular.module('app.filters.trustedHtml', [])
    .filter('trustedHtml', trustedHtmlFilter);
}

// Listen for vendor libs loaded event
window.addEventListener('vendorLibsLoaded', () => {
  initTrustedHtmlFilter();
});

// If Angular already loaded, init directly  
if (window.angular) {
  initTrustedHtmlFilter();
}